package com.ruoyi.system.service;

import com.ruoyi.system.domain.YcData;
import com.ruoyi.system.domain.YcData_v2;
import com.ruoyi.system.domain.YcInde;

import java.util.List;

/**
 * 油厂数据管理Service接口
 *
 * @author ruoyi
 * @date 2022-10-23
 */
public interface IYcDataService
{
    /**
     * 查询油厂数据管理
     *
     * @param dataId 油厂数据管理主键
     * @return 油厂数据管理
     */
    public YcData selectYcDataByDataId(Long dataId);

    /**
     * 查询油厂数据管理列表 (导出专用)
     *
     * @param ycData 油厂数据管理
     * @return 油厂数据管理集合
     */
    public List<YcData> selectYcDataListUseExport(YcData ycData);

    /**
     * 查询油厂数据管理列表
     *
     * @param ycData 油厂数据管理
     * @return 油厂数据管理集合
     */
    public List<YcData> selectYcDataList(YcData ycData);

    /**
     * 查询更多的油厂数据管理列表
     *
     * @param ycData_v2 油厂数据管理
     * @return 油厂数据管理集合
     */
    public List<YcData> selectYcDataListMore(YcData_v2 ycData_v2);

    /**
     * 新增油厂数据管理
     *
     * @param ycData 油厂数据管理
     * @return 结果
     */
    public int insertYcData(YcData ycData);

    /**
     * 修改油厂数据管理
     *
     * @param ycData 油厂数据管理
     * @return 结果
     */
    public int updateYcData(YcData ycData);

    /**
     * 批量修改油厂措施管理
     *
     * @param dataIds 油厂措施管理
     */
    public void updateYcDataByDataIds(Long[] dataIds);

    /**
     * 批量删除油厂数据管理
     *
     * @param dataIds 需要删除的油厂数据管理主键集合
     * @return 结果
     */
    public int deleteYcDataByDataIds(Long[] dataIds);

    /**
     * 删除油厂数据管理信息
     *
     * @param dataId 油厂数据管理主键
     * @return 结果
     */
    public int deleteYcDataByDataId(Long dataId);

    public List<YcData> selectYcDataYear();
    public List<YcData> selectYcDataMonth();

    /**
     * 一键发布数据
     * @param ycData 油厂数据管理
     */
    public void importDatas(YcData ycData);

    /**
     * 一键发布数据-厂
     * @param ycData 油厂数据管理
     */
    public void importDatas1(YcData ycData);

    /**
     * 一键发布数据-区
     * @param ycData 油厂数据管理
     */
    public void importDatas2(YcData ycData);

    /**
     * 一键发布数据-站
     * @param ycData 油厂数据管理
     */
    public void importDatas3(YcData ycData);

    /**
     *   批量发布数据
     * @param dataList 指标列表
     * @param isUpdateSupport 是否更新支持，如果已存在，则进行更新数据
     * @param operName 操作用户
     * @return 结果
     */
    public String importData(List<YcData> dataList, Boolean isUpdateSupport, String operName);
}
